home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Visual Database / Visual Foxpro 6.0 (Ent. Edition) / Vf6ent Extractor.EXE / TOOLS / XSOURCE / XSOURCE.ZIP / vfpsource / wizards / Wzmail / MERGEWIZ.PRG < prev    next >
Encoding:
Text File  |  1998-05-01  |  2.3 KB  |  94 lines

  1. EXTERNAL ARRAY addfields
  2.  
  3. #INCLUDE "mergewiz.h"
  4.  
  5. #DEFINE ISWORD20 .F.
  6. #DEFINE L_DEBUG .F.
  7.  
  8. DEFINE CLASS MergeEngine AS WizEngineAll
  9.  
  10.     cWizClass    = "ole"                && wizard class    (e.g., report)
  11.     cWizName    = "mergewizard"        && wizard name or class (e.g., Group/Total report)
  12.  
  13.     nWordProc    = N_WORD60            && default is Word 6.0
  14.     nNewDoc        = N_NEW_DOC            && create a new or use an existing document
  15.     nTemplate    = N_FORMLETTER        && type of document to create (Word 6.0 only)
  16.     cDocName    = ""                && name of master merge document
  17.     cMrgData    = ""                && file that will contain merge data if non-60
  18.  
  19.     oMM            = .NULL.            && the MailMerge object
  20.     
  21. #IF L_DEBUG
  22.     PROCEDURE Error
  23.         PARAMETER ErrorNum, Method, Line
  24.         THIS.ALERT("Error: " + message() + C_CRLF + ;
  25.             "Error Number: " + ALLT(STR(m.Errornum)) + C_CRLF + ;
  26.             "Method: " + m.Method + C_CRLF + ;
  27.             "Line: " + LTRIM(STR(LINENO())) + ": " + message(1))
  28.         SET TRBE OFF
  29.         ACTI WINDOW DEBUG
  30.         ACTI WINDOW TRACE
  31.         SUSPEND
  32.     ENDPROC
  33. #ENDIF
  34.  
  35.     *----------------------------------
  36.     PROCEDURE Init2
  37.     *----------------------------------
  38.         THIS.GetOS()    && fills in THIS.nCurrentOS
  39.         IF THIS.nCurrentOS == OS_DOS OR THIS.nCurrentOS == OS_UNIX  && fail
  40.             RETURN .F.
  41.         ENDIF
  42.  
  43.         THIS.iHelpContextID = N_HELPCONTEXT_ID
  44.  
  45.         *- create the MailMerge object
  46.         SET CLASS TO MailMrge ADDITIVE
  47.         THIS.oMM = CREATEOBJECT("MailMerge")
  48.         
  49.         IF TYPE("THIS.oMM") # 'O'
  50.             THIS.Alert(E_NOMAILMERGE_LOC)
  51.             RETURN .F.
  52.         ENDIF
  53.         
  54.         RETURN .T.
  55.  
  56.     ENDPROC
  57.  
  58.  
  59.     *----------------------------------
  60.     PROCEDURE Destroy
  61.     *----------------------------------
  62.         RELEASE CLASSLIB MailMrge
  63.         
  64.         WizEngineAll::Destroy
  65.         
  66.     ENDPROC
  67.     
  68.     
  69.     *----------------------------------
  70.     PROCEDURE MakeMergeFile
  71.     *----------------------------------
  72.  
  73.         THIS.oMM.cAppTitle = ALERTTITLE_LOC        && the name of our app
  74.         THIS.oMM.nWordProc = THIS.nWordProc        && word processor
  75.         THIS.oMM.nNewDoc = THIS.nNewDoc            && is it a new doc?
  76.         THIS.oMM.nTemplate = THIS.nTemplate        && type of main document (Word only)
  77.         THIS.oMM.cDocName = THIS.cDocName        && doc file if not new
  78.  
  79.         THIS.oMM.cAlias = THIS.cWizAlias
  80.         THIS.oMM.cDBCTable = THIS.cDBCTable
  81.         THIS.oMM.cDBCName = THIS.cDBCName
  82.         
  83.         ACOPY(THIS.aWizFields, THIS.oMM.aAutoFields)
  84.         
  85.         
  86.         THIS.oMM.MakeOutput
  87.  
  88.         RETURN
  89.         
  90.     ENDPROC
  91.  
  92. ENDDEFINE        && MergeEngine
  93. *- eof
  94.